package com.ruoyi.system.domain.xcx;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 巨量广告项目对象 douyin_project
 *
 * @author ruoyi
 * @date 2023-09-26
 */
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 纵横组织ID */
    @Excel(name = "纵横组织ID")
    private String zonghengId;

    @Excel(name = "纵横组织")
    private String zonghengName;

    /** 广告主ID */
    @Excel(name = "广告主ID")
    private String advertiserId;

    @Excel(name = "广告主")
    private String advertiserName;

    /** 项目ID */
    @Excel(name = "项目ID")
    private String projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal projectPrice;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String goodId;

    private String goodTitle;

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    private String nickname;
    /** 购买数量 */
    @Excel(name = "购买数量")
    private Long goodBuyCnt;

    /** 设置转化量 */
    @Excel(name = "设置转化量")
    private Long setConvertCnt;

    /** 消耗 */
    @Excel(name = "消耗")
    private BigDecimal statCost;

    /** 平局转化成本 */
    @Excel(name = "平均转化成本")
    private BigDecimal conversionCost;

    /** 转化量 */
    @Excel(name = "转化量")
    private Long convertCnt;

    /** 下单账号ID */
    @Excel(name = "下单账号ID")
    private String accountId;

    private String accountName;

    /** 授权抖音号 */
    @Excel(name = "授权抖音号")
    private String awemeId;

    /** 合作码 */
    @Excel(name = "合作码")
    private String awemeCode;

    private String awemeStatus;

    /** 项目状态 */
    @Excel(name = "项目状态")
    private String status;

    /** 投放起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 投放结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 项目创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "项目创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date projectCreateTime;

    /** 项目完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "项目完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** 是否返佣（0未返；1已返） 默认是1 */
    private String isCommission;

    private String merchantId;

    private String merchantNickName;

    private String bidType;

    private String isOpenAgain;

    @Excel(name = "初始数量")
    private Long initialNum;

    @Excel(name = "当前数量")
    private Long currentNum;

    private String secUid;

    private String stopType;

    /** 项目暂停时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "项目暂停时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date pauseTime;

    private String marketingGoal;

    private String dyTongdao;

    private String thirdOrderId;

    //返佣
    private BigDecimal commission;

    //项目类别
    private String projectType;

    /** 授权时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "授权时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    /** 第一次暂停时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "授权时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date firstPauseTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setZonghengId(String zonghengId)
    {
        this.zonghengId = zonghengId;
    }

    public String getZonghengId()
    {
        return zonghengId;
    }
    public void setAdvertiserId(String advertiserId)
    {
        this.advertiserId = advertiserId;
    }

    public String getAdvertiserId()
    {
        return advertiserId;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProjectPrice(BigDecimal projectPrice)
    {
        this.projectPrice = projectPrice;
    }

    public BigDecimal getProjectPrice()
    {
        return projectPrice;
    }
    public void setGoodId(String goodId)
    {
        this.goodId = goodId;
    }

    public String getGoodId()
    {
        return goodId;
    }
    public void setSetConvertCnt(Long setConvertCnt)
    {
        this.setConvertCnt = setConvertCnt;
    }

    public Long getSetConvertCnt()
    {
        return setConvertCnt;
    }
    public void setConvertCnt(Long convertCnt)
    {
        this.convertCnt = convertCnt;
    }

    public Long getConvertCnt()
    {
        return convertCnt;
    }
    public void setAccountId(String accountId)
    {
        this.accountId = accountId;
    }

    public String getAccountId()
    {
        return accountId;
    }
    public void setAwemeId(String awemeId)
    {
        this.awemeId = awemeId;
    }

    public String getAwemeId()
    {
        return awemeId;
    }
    public void setAwemeCode(String awemeCode)
    {
        this.awemeCode = awemeCode;
    }

    public String getAwemeCode()
    {
        return awemeCode;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setProjectCreateTime(Date projectCreateTime)
    {
        this.projectCreateTime = projectCreateTime;
    }

    public Date getProjectCreateTime()
    {
        return projectCreateTime;
    }

    public String getZonghengName() {
        return zonghengName;
    }

    public void setZonghengName(String zonghengName) {
        this.zonghengName = zonghengName;
    }

    public String getAdvertiserName() {
        return advertiserName;
    }

    public void setAdvertiserName(String advertiserName) {
        this.advertiserName = advertiserName;
    }

    public String getAwemeStatus() {
        return awemeStatus;
    }

    public void setAwemeStatus(String awemeStatus) {
        this.awemeStatus = awemeStatus;
    }

    public String getGoodTitle() {
        return goodTitle;
    }

    public void setGoodTitle(String goodTitle) {
        this.goodTitle = goodTitle;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantNickName() {
        return merchantNickName;
    }

    public void setMerchantNickName(String merchantNickName) {
        this.merchantNickName = merchantNickName;
    }

    public Long getGoodBuyCnt() {
        return goodBuyCnt;
    }

    public void setGoodBuyCnt(Long goodBuyCnt) {
        this.goodBuyCnt = goodBuyCnt;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getIsCommission() {
        return isCommission;
    }

    public void setIsCommission(String isCommission) {
        this.isCommission = isCommission;
    }

    public BigDecimal getConversionCost() {
        return conversionCost;
    }

    public void setConversionCost(BigDecimal conversionCost) {
        this.conversionCost = conversionCost;
    }

    public BigDecimal getStatCost() {
        return statCost;
    }

    public void setStatCost(BigDecimal statCost) {
        this.statCost = statCost;
    }

    public String getBidType() {
        return bidType;
    }

    public void setBidType(String bidType) {
        this.bidType = bidType;
    }

    public String getIsOpenAgain() {
        return isOpenAgain;
    }

    public void setIsOpenAgain(String isOpenAgain) {
        this.isOpenAgain = isOpenAgain;
    }

    public Long getInitialNum() {
        return initialNum;
    }

    public void setInitialNum(Long initialNum) {
        this.initialNum = initialNum;
    }

    public Long getCurrentNum() {
        return currentNum;
    }

    public void setCurrentNum(Long currentNum) {
        this.currentNum = currentNum;
    }

    public String getSecUid() {
        return secUid;
    }

    public void setSecUid(String secUid) {
        this.secUid = secUid;
    }

    public String getStopType() {
        return stopType;
    }

    public void setStopType(String stopType) {
        this.stopType = stopType;
    }

    public String getMarketingGoal() {
        return marketingGoal;
    }

    public void setMarketingGoal(String marketingGoal) {
        this.marketingGoal = marketingGoal;
    }

    public Date getPauseTime() {
        return pauseTime;
    }

    public void setPauseTime(Date pauseTime) {
        this.pauseTime = pauseTime;
    }

    public String getDyTongdao() {
        return dyTongdao;
    }

    public void setDyTongdao(String dyTongdao) {
        this.dyTongdao = dyTongdao;
    }

    public String getThirdOrderId() {
        return thirdOrderId;
    }

    public void setThirdOrderId(String thirdOrderId) {
        this.thirdOrderId = thirdOrderId;
    }

    public BigDecimal getCommission() { return commission; }

    public void setCommission(BigDecimal commission) { this.commission = commission; }
    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }
    public Date getFirstPauseTime() {
        return firstPauseTime;
    }
    public Date getAuthTime() {
        return authTime;
    }

    public void setAuthTime(Date authTime) {
        this.authTime = authTime;
    }
    public void setFirstPauseTime(Date firstPauseTime) {
        this.firstPauseTime = firstPauseTime;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("zonghengId", getZonghengId())
            .append("advertiserId", getAdvertiserId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("projectPrice", getProjectPrice())
            .append("goodId", getGoodId())
            .append("setConvertCnt", getSetConvertCnt())
            .append("convertCnt", getConvertCnt())
            .append("accountId", getAccountId())
            .append("awemeId", getAwemeId())
            .append("awemeCode", getAwemeCode())
            .append("status", getStatus())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("projectCreateTime", getProjectCreateTime())
            .toString();
    }
}
